home *** CD-ROM | disk | FTP | other *** search
- To unprotect COMPAQ BASICA programs. Do the following:
-
- A>basic(a)
- save "test",p
- bsave "t1",&h400,&h200
- load "test"
- bsave "t2",&h400,&h200
- system
-
- A>comp t1.bas t2.bas
- Note the offset where t1=00 and t2=FE (xxxx hex)
- N (don't compare more files)
-
- A>basic(a)
- print &h400+&hxxxx-7
- yyyy
- note the result yyyy
- bsave "un.p",yyyy,1
- load "the protected program"
- bload "un.p"
- ... that's it. Your file is now unprotected and you can
- list it or save it etc...
-
-
- Basic(a) keeps a protection marker at about offset
- 400 to 600 hex. The marker is a hex FE. When there
- is no protection marker, this location will contain
- hex 00.
-
- For COMPAQ BASIC(A) the offset where this marker is
- located are:
-
- Version HEX decimal
- 1.14 59A 1434
- 2.11 4CC 1228
- 3.00 595 1429
- 3.11 599 1433
-
- This is the value to use for yyyy above.
-
- If this script didn't work for you, then your version
- of BASIC(A) is either different in it's operation or
- the protection marker is outside the range of 400-600
- hex. Try using a 400 hex region or moving the beginning
- earlier or later. For example:
-
- bsave "t1",&h400,&h400 (begin at 400H and 400H long)
- bsave "t1",&h300,&h1000 (begin at 300H and 1000H long)
-
- be sure to make the other appropriateadjustments too:
- print &h300+&hxxxx-7
-
- Don't give up, you'll find it. Oh, by the way, if you
- start earlier than 400 hex, there is a good chance you'll
- pick up a lot of garbage differences earlier in the file.
- Try going larger e.g. 500 hex. But, there doesn't seem
- to be a pattern to the changes.
-
- This will also work for IBM BASIC(A), and it may work
- for many others, but you will have to experiment.
- If you find other values, append them to this file and
- change it's name to relect that i.e.
- BASIC001.unp etc...
-
- Good luck.
- Sam Thomas - 1-11-1987
-